#ifndef _MCULIB_GPIO_H_
#define _MCULIB_GPIO_H_


#include "gd32f3x0.h"
#include "gd32f3x0_rcu.h"
#include "gd32f3x0_gpio.h"


typedef struct
{
    rcu_periph_enum rcu;
    uint32_t gpio_periph;
    uint32_t mode;
    uint32_t pull_up_down;
    uint8_t otype;
    uint32_t speed;
    uint32_t pin;
}MCULIB_GPIO_STRUCT;




void mculib_gpio_init(MCULIB_GPIO_STRUCT *io);
void mculib_gpio_reset(MCULIB_GPIO_STRUCT *io);
void mculib_gpio_set(MCULIB_GPIO_STRUCT *io);
void mculib_gpio_not(MCULIB_GPIO_STRUCT *io);
uint8_t mculib_gpio_get(MCULIB_GPIO_STRUCT *io);












#endif
